<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    /*
      函数提升： 函数提示与变量提升比较类似，是指函数在声明前就可以被调用
     */

    fn()
    function fn() {
      console.log("我被调用执行了");
    }
    /*
    把所有函数声明提升到当前作用域的最前面(只提升声明不提升调用)
    相当于
      function fn(){
       console.log("我被调用执行了");
      fn()
    }
     */

    fun()
    var fun = function () {
      console.log("我被调用执行了");
    }
    /*
    函数表达式必须先声明然后调用
    相当于
    var fun
    fun()
    fun= function () {
      console.log("我被调用执行了");
    }
    */

  </script>
</body>

</html>